WaifuPad
少年漫画.ai
WaifuPad is a custom controller for Adobe Illustrator. I built it to improve my productivity, when creating vector graphics on the go.
When designing my home studio, I took inspiration from music producers. They use controllers to map functions of their software to physical inputs.
I, too, prefer controlling my tools directly rather than pushing on-screen buttons with a pointing device, or using finger-twisting shortcuts. So, I use a total of seven controllers at my home studio.
My mobile setup, on the contrary, is very minimalist.
Apart from lack of physical inputs, the main drawback of the setup is a small laptop screen, cluttered with menus and palettes.
To address these issues, I designed a custom MacroPad tied to my specific needs and suited for my work style.
MacroPad has a total of four layers, mapped onto eight keys. Layers are accessed by holding FnLeft and FnRight keys.
Active input hints are displayed on a small OLED screen.
The slider is used to control the opacity of a selected object. The joystick flips the selected object horizontally, or vertically. The knob rotates the selected object clockwise, or counter-clockwise. Holding the FnLeft key modifies the increment of the knob, and the slider.
To make WaifuPad as slim as possible, I use Kailh Choc Low Profile mechanical switches, with low-profile keycaps. For the joystick, I use a Nintendo Switch thumbstick module.
Rotary encoder is a common KY-040 electronic component. The module is quite tall, measuring almost 3 cm height, so I modified it to low-profile.
After shopping for parts, I built a prototype, and wrote a firmware.
WaifuPad is based on Arduino microcontroller, which acts as a HID-device (means: is seen by a computer as a keyboard). Firmware processes all inputs, and translates them to a specific keyboard shortcuts, which are set as Adobe Illustrator Actions.
Individual bitmap icons for the inputs are sliced and stored in their respective functions, therefore I don't have to re-render the whole UI screen in case of future updates.
Graphics on the OLED display inverts every n seconds, to prevent it from burning-in.
After squashing all the hardware and software bugs, I transferred my design to the printed circuit board, and submitted my order to a factory.
While waiting for the PCB delivery, I quickly modelled the case, sent *.obj files to a local 3D printer operator, and got the parts from a parcel machine.
And then came the delivery day.
I then grabbed all the items, hopped onto an e-scooter, and rode to my friend's workshop, where we had tons of fun, experimenting with new soldering techniques, and assembling the unit.
I tested it for a full day at the office, and was amazed how natural and convenient it was.
A few initial ideas were dropped during the production, for various reasons. Nevertheless, the WaifuPad turned out exactly how I envisioned it, and works really great!
I consider this project as a success, and can't wait to create more graphics using it.